yarn run v1.22.22 $ /home/runner/work/element-web/element-web/element-web/node_modules/.bin/ts-node ./scripts/gen-workflow-mermaid.ts ../element-desktop ../element-web ../matrix-react-sdk ../matrix-js-sdk

---
title: At 09:00 AM & element-desktop Release & Manual
---
flowchart LR
    subgraph ID0["Build and Deploy"]
        ID1-- needs -->ID2
        ID1-- needs -->ID3
        ID1-- needs -->ID4
        ID1-- needs -->ID5
        ID3-- needs -->ID5
        ID4-- needs -->ID5
        ID2-- needs -->ID5
        ID5-- needs -->ID6
        ID1[["prepare"]]
        click ID1 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        subgraph ID2["Windows "]
            ID7[["Windows ia32"]]
            click ID7 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
            ID8[["Windows x64"]]
            click ID8 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        end
        ID3[["macOS"]]
        click ID3 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        subgraph ID4["Linux )"]
            ID9[["Linux amd64 (sqlcipher static)"]]
            click ID9 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
            IDa[["Linux arm64 (sqlcipher static)"]]
            click IDa href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        end
        ID5[["${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }}"]]
        click ID5 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        ID6[["Deploy builds to ESS"]]
        click ID6 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
    end
    IDb(("At 09:00 AM"))
    IDc(("element-desktop Release"))
    IDd(("Manual"))
    IDb --> ID0
    IDc --> ID0
    IDd --> ID0
---
title: Pull Request element-desktop & Push element-desktop develop & Push element-desktop master & Push element-desktop staging & Manual
---
flowchart LR
    subgraph ID0["Build and Test"]
        ID1-- needs -->ID2
        ID1-- needs -->ID3
        ID1-- needs -->ID4
        ID4-- needs -->ID5
        ID3-- needs -->ID5
        ID2-- needs -->ID5
        ID1[["fetch"]]
        click ID1 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        subgraph ID2["Windows"]
            ID6[["Windows (x64)"]]
            click ID6 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            ID7[["Windows (ia32)"]]
            click ID7 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
        subgraph ID3["Linux "]
            ID8[["Linux (amd64) (sqlcipher: system)"]]
            click ID8 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            ID9[["Linux (arm64) (sqlcipher: system)"]]
            click ID9 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDa[["Linux (amd64) (sqlcipher: static)"]]
            click IDa href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDb[["Linux (arm64) (sqlcipher: static)"]]
            click IDb href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
        ID4[["macOS"]]
        click ID4 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        subgraph ID5["Test "]
            IDc[["Test macOS Universal"]]
            click IDc href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDd[["Test Linux (amd64) (sqlcipher: system)"]]
            click IDd href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDe[["Test Linux (amd64) (sqlcipher: static)"]]
            click IDe href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDf[["Test Linux (arm64) (sqlcipher: system)"]]
            click IDf href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDg[["Test Linux (arm64) (sqlcipher: static)"]]
            click IDg href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDh[["Test Windows (x86)"]]
            click IDh href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDi[["Test Windows (x64)"]]
            click IDi href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
    end
    IDj(("Pull Request<br>element-desktop"))
    IDk(("Push element-desktop<br>develop"))
    subgraph IDl["Dockerbuild"]
        IDm[["Docker Build"]]
        click IDm href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/dockerbuild.yaml" "Click to open workflow"
    end
    IDn(("Push element-desktop<br>master"))
    IDo(("Push element-desktop<br>staging"))
    IDp(("Manual"))
    IDj --> ID0
    IDk --> ID0
    IDo --> ID0
    IDn --> ID0
    IDk --> IDl
    IDn --> IDl
    IDo --> IDl
    IDp --> IDl
---
title: At 06:00 AM only on Monday Wednesday and Friday & Manual
---
flowchart LR
    subgraph ID0["Localazy Download"]
        ID1[["download"]]
        click ID1 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/localazy_download.yaml" "Click to open workflow"
    end
    ID2(("At 06:00 AM<br>only on Monday<br>Wednesday<br>and Friday"))
    ID3(("Manual"))
    ID2 --> ID0
    ID3 --> ID0
---
title: Push matrix-react-sdk develop & Pull Request matrix-react-sdk & Push matrix-react-sdk master
---
flowchart LR
    subgraph ID0["Localazy Upload"]
        ID1[["upload"]]
        click ID1 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/localazy_upload.yaml" "Click to open workflow"
    end
    ID2(("Push matrix-react-sdk<br>develop"))
    subgraph ID3["End to End Tests"]
        ID4-- needs -->ID5
        ID5-- needs -->ID6
        ID4[["Build Element-Web"]]
        click ID4 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
        subgraph ID5["Run Tests "]
            ID7[["Run Tests 1/${{ strategy.job-total }}"]]
            click ID7 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
            ID8[["Run Tests 2/${{ strategy.job-total }}"]]
            click ID8 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
            ID9[["Run Tests 3/${{ strategy.job-total }}"]]
            click ID9 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
            IDa[["Run Tests 4/${{ strategy.job-total }}"]]
            click IDa href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
            IDb[["Run Tests 5/${{ strategy.job-total }}"]]
            click IDb href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
            IDc[["Run Tests 6/${{ strategy.job-total }}"]]
            click IDc href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
        end
        ID6[["end-to-end-tests"]]
        click ID6 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests.yaml" "Click to open workflow"
    end
    subgraph IDd["Upload End to End Test report to Netlify"]
        IDe[["Report results"]]
        click IDe href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/end-to-end-tests-netlify.yaml" "Click to open workflow"
    end
    IDf(("Pull Request<br>matrix-react-sdk"))
    subgraph IDg["Pull Request Base Branch"]
        IDh[["Check PR base branch"]]
        click IDh href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/pull_request_base_branch.yaml" "Click to open workflow"
    end
    IDi(("Push matrix-react-sdk<br>master"))
    subgraph IDj["Upload Preview Build to Netlify"]
        IDk[["deploy"]]
        click IDk href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/netlify.yaml" "Click to open workflow"
    end
    subgraph IDl["Notify element-web"]
        IDm[["Notify Element Web"]]
        click IDm href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/notify-element-web.yml" "Click to open workflow"
    end
    ID2 --> ID0
    ID2 --> ID3
    ID2 --> IDl
    ID3-- workflow_run -->IDd
    IDf --> ID3
    IDi --> ID3
    ID3-- workflow_run -->IDj
    IDf --> IDg
---
title: Push matrix-js-sdk staging & Manual
---
flowchart LR
    subgraph ID0["Release Drafter"]
        ID1[["draft"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release-drafter.yml" "Click to open workflow"
    end
    ID2(("Push matrix-js-sdk<br>staging"))
    ID3(("Manual"))
    ID2 --> ID0
    ID3 --> ID0
---
title: Push matrix-js-sdk master & Pull Request matrix-js-sdk & Push matrix-js-sdk develop & At 01:00 AM & Manual
---
flowchart LR
    subgraph ID0["Merge master -> develop"]
        ID1[["merge"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release-gitflow.yml" "Click to open workflow"
    end
    ID2(("Push matrix-js-sdk<br>master"))
    subgraph ID3["Static Analysis"]
        ID4[["Typescript Syntax Check"]]
        click ID4 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID5[["ESLint"]]
        click ID5 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID6[["Workflow Lint"]]
        click ID6 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID7[["JSDoc Checker"]]
        click ID7 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID8[["Analyse Dead Code"]]
        click ID8 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
    end
    ID9(("Pull Request<br>matrix-js-sdk"))
    subgraph IDa["matrix-react-sdk End to End Tests"]
        IDb[["Playwright"]]
        click IDb href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/downstream-end-to-end-tests.yml" "Click to open workflow"
    end
    subgraph IDc["Tests"]
        IDd-- needs -->IDe
        IDf-- needs -->IDg
        IDh-- needs -->IDi
        subgraph IDd["Jest [)"]
            IDj[["Jest [integ] (Node ${{ matrix.node == '*' && 'latest' || matrix.node }})"]]
            click IDj href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDk[["Jest [integ] (Node ${{ matrix.node == '*' && 'latest' || matrix.node }})"]]
            click IDk href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDl[["Jest [unit] (Node ${{ matrix.node == '*' && 'latest' || matrix.node }})"]]
            click IDl href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDm[["Jest [unit] (Node ${{ matrix.node == '*' && 'latest' || matrix.node }})"]]
            click IDm href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        end
        IDe[["Jest tests"]]
        click IDe href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        IDh[["Downstream test matrix-react-sdk"]]
        click IDh href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        IDf[["Run Complement Crypto tests"]]
        click IDf href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        IDg[["Downstream Complement Crypto tests"]]
        click IDg href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        IDi[["Downstream tests"]]
        click IDi href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
    end
    subgraph IDn["SonarQube"]
        IDo[["🩻 SonarQube"]]
        click IDo href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/sonarqube.yml" "Click to open workflow"
    end
    IDp(("Push matrix-js-sdk<br>develop"))
    subgraph IDq["Sync labels"]
        IDr[["sync-labels"]]
        click IDr href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/sync-labels.yml" "Click to open workflow"
    end
    IDs(("At 01:00 AM"))
    subgraph IDt["Notify Downstream Projects"]
        subgraph IDu["notify-downstream"]
            IDv[["notify-downstream (element-hq/element-web, element-web-notify)"]]
            click IDv href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/notify-downstream.yaml" "Click to open workflow"
            IDw[["notify-downstream (element-hq/matrix-react-sdk, upstream-sdk-notify)"]]
            click IDw href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/notify-downstream.yaml" "Click to open workflow"
        end
    end
    subgraph IDx["Deploy documentation PR preview"]
        IDy[["netlify"]]
        click IDy href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/docs-pr-netlify.yaml" "Click to open workflow"
    end
    IDz(("Manual"))
    ID2 --> ID0
    ID2 --> ID3
    ID2 --> IDc
    ID9 --> ID3
    IDp --> ID3
    ID3-- workflow_run -->IDx
    ID9 --> IDa
    ID9 --> IDc
    IDc-- workflow_run -->IDn
    IDp --> IDc
    IDp --> IDq
    IDp --> IDt
    IDs --> IDq
    IDz --> IDq
---
title: Manual
---
flowchart LR
    subgraph ID0["Release Process"]
        ID1-- needs -->ID2
        ID2-- needs -->ID3
        ID1[["release"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
        ID2[["Publish Documentation"]]
        click ID2 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
        ID3[["docs-deploy"]]
        click ID3 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
    end
    ID4(("Manual"))
    ID4 --> ID0
---
title: matrix-js-sdk Issues
---
flowchart LR
    subgraph ID0["Move new issues into Issue triage board"]
        ID1[["automate-project-columns-next"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/triage-incoming.yml" "Click to open workflow"
    end
    ID2(("matrix-js-sdk Issues"))
    subgraph ID3["Move labelled issues to correct projects"]
        ID4[["call-triage-labelled"]]
        click ID4 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
    end
    ID2 --> ID0
    ID2 --> ID3
---
title: Pull Request element-web & Push element-web develop & Push element-web master & Manual
---
flowchart LR
    subgraph ID0["Build"]
        subgraph ID1["Build on "]
            ID2[["Build on ubuntu-latest"]]
            click ID2 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
            ID3[["Build on windows-latest"]]
            click ID3 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
            ID4[["Build on macos-latest"]]
            click ID4 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
        end
    end
    ID5(("Pull Request<br>element-web"))
    ID6(("Push element-web<br>develop"))
    subgraph ID7["Build and Deploy develop"]
        ID8[["Build & Deploy develop.element.io"]]
        click ID8 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/build_develop.yml" "Click to open workflow"
    end
    subgraph ID9["Deploy documentation"]
        IDa-- needs -->IDb
        IDa[["GitHub Pages"]]
        click IDa href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/docs.yml" "Click to open workflow"
        IDb[["deploy"]]
        click IDb href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/docs.yml" "Click to open workflow"
    end
    IDc(("Push element-web<br>master"))
    IDd(("Manual"))
    ID5 --> ID0
    ID6 --> ID0
    IDc --> ID0
    ID6 --> ID7
    ID6 --> ID9
    IDd --> ID9
---
title: element-web Release
---
flowchart LR
    subgraph ID0["Build Debian package"]
        ID1[["Build package"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/build_debian.yaml" "Click to open workflow"
    end
    ID2(("element-web Release"))
    ID2 --> ID0
---
title: Push element-web tag v* & At 0 minutes past the hour every 12 hours starting at 07:00 AM & Manual
---
flowchart LR
    subgraph ID0["Dockerhub"]
        subgraph ID1["Docker Buildx"]
            ID2[["Docker Buildx (vanilla)"]]
            click ID2 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/dockerhub.yaml" "Click to open workflow"
            ID3[["Docker Buildx (opendesk, suffix=-opendesk,onlatest=true, mv variants/openDesk/* .)"]]
            click ID3 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/dockerhub.yaml" "Click to open workflow"
        end
    end
    ID4(("Push element-web<br>tag v*"))
    ID5(("At 0 minutes past the hour<br>every 12 hours<br>starting at 07:00 AM"))
    ID6(("Manual"))
    ID4 --> ID0
    ID5 --> ID0
    ID6 --> ID0
---
title: element-web Issues
---
flowchart LR
    subgraph ID0["issue_closed.yml"]
        ID1[["Tidy closed issues"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/issue_closed.yml" "Click to open workflow"
    end
    ID2(("element-web Issues"))
    subgraph ID3["Move issued assigned to specific team members to their boards"]
        ID4[["web-app-team"]]
        click ID4 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/triage-assigned.yml" "Click to open workflow"
    end
    subgraph ID5["Move unlabelled from needs info columns to triaged"]
        ID6[["Move no longer X-Needs-Info issues to Triaged"]]
        click ID6 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/triage-unlabelled.yml" "Click to open workflow"
        ID7[["Remove Z-Labs label when features behind labs flags are removed"]]
        click ID7 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/triage-unlabelled.yml" "Click to open workflow"
    end
    ID2 --> ID0
    ID2 --> ID3
    ID2 --> ID5
---
title: Manual
---
flowchart LR
    subgraph ID0["Pending reviews automation"]
        ID1[["Pending reviews bot"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/pending-reviews.yaml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: Manual
---
flowchart LR
    subgraph ID0["Cut branches"]
        ID1[["prepare"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/release_prepare.yml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: At 01:30 AM
---
flowchart LR
    subgraph ID0["Close stale flaky issues"]
        ID1[["close"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/triage-stale-flaky-tests.yml" "Click to open workflow"
    end
    ID2(("At 01:30 AM"))
    ID2 --> ID0
---
title: At 03:00 AM only on Sunday & Manual
---
flowchart LR
    subgraph ID0["Update Jitsi"]
        ID1[["update"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/update-jitsi.yml" "Click to open workflow"
    end
    ID2(("At 03:00 AM<br>only on Sunday"))
    ID3(("Manual"))
    ID2 --> ID0
    ID3 --> ID0
---
title: Manual
---
flowchart LR
    subgraph ID0["Update release topics"]
        ID1[["Release topic update"]]
        click ID1 href "https://github.com/element-hq/element-web/blob/develop/.github/workflows/update-topics.yaml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: At 06:00 AM & Manual
---
flowchart LR
    subgraph ID0["Update Playwright docker images"]
        ID1[["update"]]
        click ID1 href "https://github.com/element-hq/matrix-react-sdk/blob/develop/.github/workflows/playwright-image-updates.yaml" "Click to open workflow"
    end
    ID2(("At 06:00 AM"))
    ID3(("Manual"))
    ID2 --> ID0
    ID3 --> ID0

Done in 5.74s.